﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using acessaDB;
using Frame;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
using Estrutura;


namespace Banco
{

    /// <summary>
    /// Summary description for BD_Turma
    /// </summary>
    public class BD_Turma
    {
        #region variaveis_globais

        acessaDB.conectaDBMSSQLServer sqlServer = new conectaDBMSSQLServer();
        string conectionString = System.Configuration.ConfigurationManager.AppSettings["SQLServerConnectionLocal"];
        string usuario = string.Empty;

        #endregion

        #region construtor

        public BD_Turma()
        {
            if (System.Configuration.ConfigurationManager.AppSettings["ambiente"] == "PROD")
                conectionString = System.Configuration.ConfigurationManager.AppSettings["SQLServerConnectionProd"];
        }
        public BD_Turma(string usu_Login)
        {
            if (System.Configuration.ConfigurationManager.AppSettings["ambiente"] == "PROD")
                conectionString = System.Configuration.ConfigurationManager.AppSettings["SQLServerConnectionProd"];
            usuario = usu_Login;
        }

        #endregion

        #region metodos

        public System.Data.DataSet _retorna_Turma(
                                                string TURMA_ID,
                                                string MODALIDADE_ID,
                                                string SALA_ID,
                                                string TURNO_ID,
                                                string NIVEL_ID,
                                                string TUR_DESCRICAO,
                                                string TUR_DTCRIACAO,
                                                string TUR_DTFORMACAO,
                                                string TUR_DTFECHAMENTO,
                                                string TUR_MODALIDACOBRANCA,
                                                string TUR_QTMENSALIDADES,
                                                string TUR_STEXCLUIDO
                                                )
        {

            if (string.IsNullOrEmpty(TURMA_ID)) TURMA_ID = "''";
            if (string.IsNullOrEmpty(MODALIDADE_ID)) MODALIDADE_ID = "''";
            if (string.IsNullOrEmpty(SALA_ID)) SALA_ID = "''";
            if (string.IsNullOrEmpty(TURNO_ID)) TURNO_ID = "''";
            if (string.IsNullOrEmpty(NIVEL_ID)) NIVEL_ID = "''";
            if (string.IsNullOrEmpty(TUR_DESCRICAO)) TUR_DESCRICAO = "''";
            if (string.IsNullOrEmpty(TUR_DTCRIACAO)) TUR_DTCRIACAO = "''";
            if (string.IsNullOrEmpty(TUR_DTFORMACAO)) TUR_DTFORMACAO = "''";
            if (string.IsNullOrEmpty(TUR_DTFECHAMENTO)) TUR_DTFECHAMENTO = "''";
            if (string.IsNullOrEmpty(TUR_MODALIDACOBRANCA)) TUR_MODALIDACOBRANCA = "''";
            if (string.IsNullOrEmpty(TUR_QTMENSALIDADES)) TUR_QTMENSALIDADES = "''";
            if (string.IsNullOrEmpty(TUR_STEXCLUIDO)) TUR_STEXCLUIDO = "''";

            string sql = "SELECT " +
                                  "TURMA.TURMA_ID, " +
                                  "TURMA.MODALIDADE_ID, " +
                                  "TURMA.SALA_ID, " +
                                  "TURMA.TURNO_ID, " +
                                  "TURMA.NIVEL_ID, " +
                                  "TURMA.TUR_DESCRICAO, " +
                                  "TURMA.TUR_DTCRIACAO, " +
                                  "TURMA.TUR_DTFORMACAO, " +
                                  "TURMA.TUR_DTFECHAMENTO, " +
                                  "TURMA.TUR_MODALIDACOBRANCA, " +
                                  "TURMA.TUR_QTMENSALIDADES, " +
                                  "TURMA.TUR_STEXCLUIDO " +
                            "FROM TURMA " +
                            "LEFT JOIN MODALIDADE ON MODALIDADE.MODALIDADE_ID = TURMA.MODALIDADE_ID " +
                            "LEFT JOIN NIVEL ON NIVEL.NIVEL_ID = TURMA.NIVEL_ID " +
                            "LEFT JOIN SALA ON SALA.SALA_ID = TURMA.SALA_ID " +
                            "LEFT JOIN TURNO ON TURNO.TURNO_ID = TURMA.TURNO_ID " +
                            "WHERE " +
                            "      (TURMA.TURMA_ID = " + TURMA_ID + "  OR " + TURMA_ID + " = '') AND " +
                            "      (TURMA.MODALIDADE_ID = " + MODALIDADE_ID + "  OR " + MODALIDADE_ID + " = '') AND " +
                            "      (TURMA.SALA_ID = " + SALA_ID + "  OR " + SALA_ID + " = '') AND " +
                            "      (TURMA.TURNO_ID = " + TURNO_ID + "  OR " + TURNO_ID + " = '') AND " +
                            "      (TURMA.NIVEL_ID = " + NIVEL_ID + "  OR " + NIVEL_ID + " = '') AND " +
                            "      (TURMA.TUR_DESCRICAO = " + TUR_DESCRICAO + "  OR " + TUR_DESCRICAO + " = '') AND " +
                            "      (TURMA.TUR_DTCRIACAO = " + TUR_DTCRIACAO + "  OR " + TUR_DTCRIACAO + " = '') AND " +
                            "      (TURMA.TUR_DTFORMACAO = " + TUR_DTFORMACAO + "  OR " + TUR_DTFORMACAO + " = '') AND " +
                            "      (TURMA.TUR_DTFECHAMENTO = " + TUR_DTFECHAMENTO + "  OR " + TUR_DTFECHAMENTO + " = '') AND " +
                            "      (TURMA.TUR_MODALIDACOBRANCA = " + TUR_MODALIDACOBRANCA + "  OR " + TUR_MODALIDACOBRANCA + " = '') AND " +
                            "      (TURMA.TUR_QTMENSALIDADES = " + TUR_QTMENSALIDADES + "  OR " + TUR_QTMENSALIDADES + " = '') AND " +
                            "      (TURMA.TUR_STEXCLUIDO = " + TUR_STEXCLUIDO + "  OR " + TUR_STEXCLUIDO + " = '') ";

            return sqlServer.retornaDataSet(sql, conectionString);;
            

        }


        public List<ES_Turma> _obter_Turma(
                                                string TURMA_ID,
                                                string MODALIDADE_ID,
                                                string SALA_ID,
                                                string TURNO_ID,
                                                string NIVEL_ID,
                                                string TUR_DESCRICAO,
                                                string TUR_DTCRIACAO,
                                                string TUR_DTFORMACAO,
                                                string TUR_DTFECHAMENTO,
                                                string TUR_MODALIDACOBRANCA,
                                                string TUR_QTMENSALIDADES,
                                                string TUR_STEXCLUIDO,
                                                string ORDER_BY_CLAUSE
                                                )
        {

            if (string.IsNullOrEmpty(TURMA_ID)) TURMA_ID = "0";
            if (string.IsNullOrEmpty(MODALIDADE_ID)) MODALIDADE_ID = "0"; 
            if (string.IsNullOrEmpty(SALA_ID)) SALA_ID = "0"; 
            if (string.IsNullOrEmpty(TURNO_ID)) TURNO_ID = "0"; 
            if (string.IsNullOrEmpty(NIVEL_ID)) NIVEL_ID = "0";
            if (string.IsNullOrEmpty(TUR_DESCRICAO)) TUR_DESCRICAO = "''"; else TUR_DESCRICAO = Util.retonarAspas(TUR_DESCRICAO + "%");
            if (!string.IsNullOrEmpty(TUR_DTCRIACAO)) TUR_DTCRIACAO = Util.retonarAspas(Util.formataData(TUR_DTCRIACAO));
            if (!string.IsNullOrEmpty(TUR_DTFORMACAO)) TUR_DTFORMACAO = Util.retonarAspas(Util.formataData(TUR_DTFORMACAO));
            if (!string.IsNullOrEmpty(TUR_DTFECHAMENTO)) TUR_DTFECHAMENTO = Util.retonarAspas(Util.formataData(TUR_DTFECHAMENTO));
            if (string.IsNullOrEmpty(TUR_MODALIDACOBRANCA)) TUR_MODALIDACOBRANCA = "''"; else TUR_MODALIDACOBRANCA = Util.retonarAspas(TUR_MODALIDACOBRANCA + "%");
            if (string.IsNullOrEmpty(TUR_QTMENSALIDADES)) TUR_QTMENSALIDADES = "0";
            if (string.IsNullOrEmpty(TUR_STEXCLUIDO)) TUR_STEXCLUIDO = "-1";
            if (string.IsNullOrEmpty(ORDER_BY_CLAUSE)) ORDER_BY_CLAUSE = "TURMA.TUR_DESCRICAO, MODALIDADE.MOD_DESCRICAO, NIVEL.NIV_DESCRICAO  ";

            string sql = "SELECT " +
                                  "TURMA.TURMA_ID, " +
                                  "TURMA.MODALIDADE_ID, " +
                                  "MODALIDADE.MOD_DESCRICAO, "+
                                  "TURMA.SALA_ID, " +
                                  "SALA.SAL_DESCRICAO, "+
                                  "TURMA.TURNO_ID, " +                                  
                                  "TURNO.TUR_DESCRICAO TURNO_DESCRICAO, "+
                                  "TURMA.TURNO_ALTER_ID, " +
                                  "TURNO_ALTER.TUR_DESCRICAO TURNO_ALTER_DESCRICAO, " +
                                  "TURMA.NIVEL_ID, " +
                                  "NIVEL.NIV_DESCRICAO, "+
                                  "TURMA.USUARIO_ID, " +
                                  "USUARIO.USU_NOME, "+
                                  "TURMA.TUR_DESCRICAO, " +
                                  "TURMA.TUR_DESCRICAO+' .:. '+ISNULL(MODALIDADE.MOD_DESCRICAO,'')+' .:. '+ISNULL(NIVEL.NIV_DESCRICAO,'')+' .:. '+ISNULL(TURNO.TUR_DESCRICAO,'') AS TUR_DESCRICAOCOMP, " +
                                  "TURMA.TUR_DTCRIACAO, " +
                                  "TURMA.TUR_DTFORMACAO, " +
                                  "TURMA.TUR_DTFECHAMENTO, " +
                                  "TURMA.TUR_MODALIDACOBRANCA, " +
                                  "TURMA.TUR_QTMENSALIDADES, " +
                                  "TURMA.TUR_VALORREFERENCIA, " +
                                  "ISNULL(TURMA.TUR_STEXCLUIDO,0) STEXCLUIDO, " +
                                  "(SELECT COUNT(MATRICULA.MATRICULA_ID) FROM MATRICULA  " +
                                  "  INNER JOIN ALUNO ON (ALUNO.ALUNO_ID = MATRICULA.ALUNO_ID AND ISNULL(ALUNO.ALU_STEXCLUIDO,0) = 0) " +
		                          "  WHERE MATRICULA.TURMA_ID = TURMA.TURMA_ID AND MATRICULA.MAT_STEXCLUIDO =0) TUR_TOTALMATRICULA "+
                            "FROM TURMA " +
                            "LEFT JOIN MODALIDADE ON MODALIDADE.MODALIDADE_ID = TURMA.MODALIDADE_ID " +
                            "LEFT JOIN NIVEL ON NIVEL.NIVEL_ID = TURMA.NIVEL_ID " +
                            "LEFT JOIN SALA ON SALA.SALA_ID = TURMA.SALA_ID " +
                            "LEFT JOIN TURNO ON TURNO.TURNO_ID = TURMA.TURNO_ID " +
                            "LEFT JOIN TURNO TURNO_ALTER ON TURNO_ALTER.TURNO_ID = TURMA.TURNO_ALTER_ID " +
                            "LEFT JOIN USUARIO ON USUARIO.USUARIO_ID = TURMA.USUARIO_ID " +
                            "WHERE " +
                            "      (TURMA.TURMA_ID = " + TURMA_ID + "  OR " + TURMA_ID + " = 0) AND " +
                            "      (TURMA.MODALIDADE_ID = " + MODALIDADE_ID + "  OR " + MODALIDADE_ID + " = 0) AND " +
                            "      (TURMA.SALA_ID = " + SALA_ID + "  OR " + SALA_ID + " = 0) AND " +
                            "      (TURMA.TURNO_ID = " + TURNO_ID + "  OR " + TURNO_ID + " = 0) AND " +
                            "      (TURMA.NIVEL_ID = " + NIVEL_ID + "  OR " + NIVEL_ID + " = 0) AND " +
            
                            "      (TURMA.TUR_DESCRICAO LIKE " + TUR_DESCRICAO + "  OR " + TUR_DESCRICAO + " = '') AND ";
            if (!string.IsNullOrEmpty(TUR_DTCRIACAO))
                sql +=      "      (TURMA.TUR_DTCRIACAO = " + TUR_DTCRIACAO + ") AND ";
            if (!string.IsNullOrEmpty(TUR_DTFORMACAO))
                sql +=      "      (TURMA.TUR_DTFORMACAO = " + TUR_DTFORMACAO + ") AND ";
            if (!string.IsNullOrEmpty(TUR_DTFECHAMENTO))
                sql +=      "      (TURMA.TUR_DTFECHAMENTO = " + TUR_DTFECHAMENTO + ") AND ";

            sql +=                            
                            "      (TURMA.TUR_MODALIDACOBRANCA = " + TUR_MODALIDACOBRANCA + "  OR " + TUR_MODALIDACOBRANCA + " = '') AND " +
                            "      (TURMA.TUR_QTMENSALIDADES = " + TUR_QTMENSALIDADES + "  OR " + TUR_QTMENSALIDADES + " = 0) AND " +
                            "      (TURMA.TUR_STEXCLUIDO = " + TUR_STEXCLUIDO + "  OR " + TUR_STEXCLUIDO + " = -1) "+
                            " ORDER BY " + ORDER_BY_CLAUSE; 

            List<ES_Turma> lista = new List<ES_Turma>();
            SqlConnection sqlConexao = new SqlConnection(conectionString);
            SqlDataReader dr = sqlServer.retornaDataReader(sql, conectionString, sqlConexao);
            try
            {
                while (dr.Read())
                {
                    ES_Turma item = new ES_Turma();
                    item.TURMA_ID = dr["TURMA_ID"].ToString();
                    item.MODALIDADE_ID = dr["MODALIDADE_ID"].ToString();
                    item.MOD_DESCRICAO = dr["MOD_DESCRICAO"].ToString();
                    item.SALA_ID = dr["SALA_ID"].ToString();
                    item.SAL_DESCRICAO = dr["SAL_DESCRICAO"].ToString();
                                        
                    item.TURNO_ID = dr["TURNO_ID"].ToString();
                    item.TUR_DESCRICAO = dr["TUR_DESCRICAO"].ToString();
                    item.TUR_DESCRICAOCOMP = dr["TUR_DESCRICAOCOMP"].ToString();
                    item.TURNO_ALTER_ID = dr["TURNO_ALTER_ID"].ToString();
                    item.TURNO_ALTER_DESCRICAO = dr["TURNO_ALTER_DESCRICAO"].ToString();

                    item.TURNO_DESCRICAO = dr["TURNO_DESCRICAO"].ToString();
                    item.NIVEL_ID = dr["NIVEL_ID"].ToString();
                    item.NIV_DESCRICAO = dr["NIV_DESCRICAO"].ToString();
                    item.USUARIO_ID = dr["USUARIO_ID"].ToString();
                    item.USU_NOME = dr["USU_NOME"].ToString();
                    
                    if (!string.IsNullOrEmpty(dr["TUR_DTCRIACAO"].ToString()))
                        item.TUR_DTCRIACAO = Util.formataData(dr["TUR_DTCRIACAO"].ToString(), "dd/MM/yyyy");
                    if (!string.IsNullOrEmpty(dr["TUR_DTFORMACAO"].ToString()))
                        item.TUR_DTFORMACAO = Util.formataData(dr["TUR_DTFORMACAO"].ToString(), "dd/MM/yyyy");
                    if (!string.IsNullOrEmpty(dr["TUR_DTFECHAMENTO"].ToString()))
                        item.TUR_DTFECHAMENTO = Util.formataData(dr["TUR_DTFECHAMENTO"].ToString(), "dd/MM/yyyy");
                    
                    item.TUR_MODALIDACOBRANCA = dr["TUR_MODALIDACOBRANCA"].ToString();
                    item.TUR_QTMENSALIDADES = dr["TUR_QTMENSALIDADES"].ToString();
                    item.TUR_VALORREFERENCIA = dr["TUR_VALORREFERENCIA"].ToString();
                    item.TUR_STEXCLUIDO = (dr["STEXCLUIDO"].ToString() == "0") ? false : true;
                    item.TUR_TOTALMATRICULA = dr["TUR_TOTALMATRICULA"].ToString();
                    lista.Add(item);

                }
                return lista;
            }
            finally
            {
                sqlServer.fecharConexao(sqlConexao);
            }
        }

        public List<ES_Turma> _obter_Turma_matricula(
                                                        string TURMA_ID,
                                                        string TUR_DESCRICAO,
                                                        string USUARIO_ID = "",
                                                        bool TURMAS_SEMALUNOS = false
                                                        )
        {

            if (string.IsNullOrEmpty(TURMA_ID)) TURMA_ID = "0";
            if (string.IsNullOrEmpty(TUR_DESCRICAO)) TUR_DESCRICAO = "''"; else TUR_DESCRICAO = Util.retonarAspas(TUR_DESCRICAO + "%");
            if (string.IsNullOrEmpty(USUARIO_ID)) USUARIO_ID = "0";

            string sql = "SELECT DISTINCT M.TURMA_ID, "+
                         "                T.TUR_DESCRICAO, "+
                         "                D.MOD_DESCRICAO, "+                         
                         "                N.NIV_DESCRICAO, "+
                         "                TN.TUR_DESCRICAO, "+
                         "                T.TUR_DESCRICAO+' .:. '+ISNULL(D.MOD_DESCRICAO,'')+' .:. '+ISNULL(N.NIV_DESCRICAO,'')+' .:. '+ISNULL(TN.TUR_DESCRICAO,'') AS TUR_DESCRICAOCOMP, "+
                         "                (SELECT COUNT(MATRICULA.MATRICULA_ID) FROM MATRICULA INNER JOIN ALUNO ON (ALUNO.ALUNO_ID = MATRICULA.ALUNO_ID AND ISNULL(ALUNO.ALU_STEXCLUIDO,0) = 0) WHERE MATRICULA.TURMA_ID = T.TURMA_ID AND MATRICULA.MAT_STEXCLUIDO =0) TUR_TOTALMATRICULA "+
                         "FROM MATRICULA M "+                         
                         "INNER JOIN TURMA T ON (T.TURMA_ID = M.TURMA_ID) "+
                         "LEFT JOIN MODALIDADE D ON (D.MODALIDADE_ID = T.MODALIDADE_ID) " +
                         "LEFT JOIN NIVEL N ON (N.NIVEL_ID = T.NIVEL_ID) " +
                         "LEFT JOIN TURNO TN ON (TN.TURNO_ID = T.TURNO_ID) "+
                         "WHERE ISNULL(T.TUR_STEXCLUIDO,0) = 0 ";
            if (USUARIO_ID != "0")
                sql += "AND T.USUARIO_ID = " + USUARIO_ID + " ";

            sql += "ORDER BY T.TUR_DESCRICAO ";

            List<ES_Turma> lista = new List<ES_Turma>();
            SqlConnection sqlConexao = new SqlConnection(conectionString);
            SqlDataReader dr = sqlServer.retornaDataReader(sql, conectionString, sqlConexao);
            try
            {
                while (dr.Read())
                {
                    ES_Turma item = new ES_Turma();
                    item.TURMA_ID = dr["TURMA_ID"].ToString();                    
                    item.TUR_DESCRICAO = dr["TUR_DESCRICAO"].ToString();
                    item.MOD_DESCRICAO = dr["MOD_DESCRICAO"].ToString();
                    item.TUR_DESCRICAOCOMP = dr["TUR_DESCRICAOCOMP"].ToString();

                    //somente adicionar turmas com alunos
                    if (TURMAS_SEMALUNOS || dr["TUR_TOTALMATRICULA"].ToString() != "0")
                        lista.Add(item);

                }
                return lista;
            }
            finally
            {
                sqlServer.fecharConexao(sqlConexao);
            }
        }

        public ES_Turma _obter_Turma_by_id(
                                                string TURMA_ID
                                                )
        {

            if (string.IsNullOrEmpty(TURMA_ID)) TURMA_ID = "'0'";

            string sql = "SELECT " +
                                  "TURMA.TURMA_ID, " +
                                  "TURMA.MODALIDADE_ID, " +
                                  "MODALIDADE.MOD_DESCRICAO, "+
                                  "TURMA.SALA_ID, " +
                                  "TURMA.TURNO_ID, " +
                                  "TURNO.TUR_DESCRICAO AS TURNO_DESCRICAO, "+
                                  "TURMA.TURNO_ALTER_ID, "+
                                  "TURMA.NIVEL_ID, " +
                                  "NIVEL.NIV_DESCRICAO, "+
                                  "TURMA.USUARIO_ID, " +                                  
                                  "TURMA.TUR_DESCRICAO, " +
                                  "TURMA.TUR_DTCRIACAO, " +
                                  "TURMA.TUR_DTFORMACAO, " +
                                  "TURMA.TUR_DTFECHAMENTO, " +
                                  "TURMA.TUR_MODALIDACOBRANCA, " +
                                  "TURMA.TUR_QTMENSALIDADES, " +
                                  "TURMA.TUR_VALORREFERENCIA, " +
                                  "ISNULL(TURMA.TUR_STEXCLUIDO,0)TUR_STEXCLUIDO " +
                            "FROM TURMA " +
                            "LEFT JOIN MODALIDADE ON MODALIDADE.MODALIDADE_ID = TURMA.MODALIDADE_ID " +
                            "LEFT JOIN NIVEL ON NIVEL.NIVEL_ID = TURMA.NIVEL_ID " +
                            "LEFT JOIN SALA ON SALA.SALA_ID = TURMA.SALA_ID " +
                            "LEFT JOIN TURNO ON TURNO.TURNO_ID = TURMA.TURNO_ID " +
                            "LEFT JOIN USUARIO ON USUARIO.USUARIO_ID = TURMA.USUARIO_ID " +
                            "WHERE " +
                            "      (TURMA.TURMA_ID = " + TURMA_ID + "  OR " + TURMA_ID + " = '0') ";

            ES_Turma item = new ES_Turma();
            SqlConnection sqlConexao = new SqlConnection(conectionString);
            SqlDataReader dr = sqlServer.retornaDataReader(sql, conectionString, sqlConexao);
            try
            {
                while (dr.Read())
                {
                    item.TURMA_ID = dr["TURMA_ID"].ToString();
                    item.MODALIDADE_ID = dr["MODALIDADE_ID"].ToString();
                    item.MOD_DESCRICAO = dr["MOD_DESCRICAO"].ToString();
                    item.SALA_ID = dr["SALA_ID"].ToString();                    
                    item.TURNO_ID = dr["TURNO_ID"].ToString();
                    item.TURNO_DESCRICAO = dr["TURNO_DESCRICAO"].ToString();
                    item.TURNO_ALTER_ID = dr["TURNO_ALTER_ID"].ToString();                    
                    item.NIVEL_ID = dr["NIVEL_ID"].ToString();
                    item.NIV_DESCRICAO = dr["NIV_DESCRICAO"].ToString();
                    item.USUARIO_ID = dr["USUARIO_ID"].ToString();
                    item.TUR_DESCRICAO = dr["TUR_DESCRICAO"].ToString();
                    item.TUR_DTCRIACAO = dr["TUR_DTCRIACAO"].ToString();
                    item.TUR_DTFORMACAO = dr["TUR_DTFORMACAO"].ToString();
                    item.TUR_DTFECHAMENTO = dr["TUR_DTFECHAMENTO"].ToString();
                    item.TUR_MODALIDACOBRANCA = dr["TUR_MODALIDACOBRANCA"].ToString();
                    item.TUR_QTMENSALIDADES = dr["TUR_QTMENSALIDADES"].ToString();
                    item.TUR_VALORREFERENCIA = dr["TUR_VALORREFERENCIA"].ToString();
                    item.TUR_STEXCLUIDO = (dr["TUR_STEXCLUIDO"].ToString() == "0") ? false : true;

                }
                return item;
            }
            finally
            {
                sqlServer.fecharConexao(sqlConexao);
            }
        }


        public void _inserir_Turma(
                                                string TURMA_ID,
                                                string MODALIDADE_ID,
                                                string SALA_ID,
                                                string TURNO_ID,
                                                string TURNO_ALTER_ID,
                                                string NIVEL_ID,
                                                string USUARIO_ID,
                                                string TUR_DESCRICAO,
                                                string TUR_DTCRIACAO,
                                                string TUR_DTFORMACAO,
                                                string TUR_DTFECHAMENTO,
                                                string TUR_MODALIDACOBRANCA,
                                                string TUR_QTMENSALIDADES,
                                                string TUR_VALORREFERENCIA,
                                                string TUR_STEXCLUIDO
                                                )
        {

            string sql = " INSERT INTO TURMA " +
                         "      ( " +
                         "          MODALIDADE_ID, " +
                         "          SALA_ID, " +
                         "          TURNO_ID, " +
                         "          TURNO_ALTER_ID, " +
                         "          NIVEL_ID, " +
                         "          USUARIO_ID, " +
                         "          TUR_DESCRICAO, " +
                         "          TUR_DTCRIACAO, " +
                         "          TUR_DTFORMACAO, " +
                         "          TUR_DTFECHAMENTO, " +
                         "          TUR_MODALIDACOBRANCA, " +
                         "          TUR_QTMENSALIDADES, " +
                         "          TUR_VALORREFERENCIA, " +
                         "          TUR_STEXCLUIDO  " +
                 "      )" +
                 "  VALUES " +
                 "      ( " +
                              Util.retonarNull(MODALIDADE_ID) + ", " +
                              Util.retonarNull(SALA_ID) + ", " +
                              Util.retonarNull(TURNO_ID) + ", " +
                              Util.retonarNull(TURNO_ALTER_ID) + ", " +
                              Util.retonarNull(NIVEL_ID) + ", " +
                              Util.retonarNull(USUARIO_ID) + ", " +
                              Util.retonarAspas(TUR_DESCRICAO, true) + ", " +
                              Util.retonarAspas(Util.formataData(TUR_DTCRIACAO, "dd/MM/yyyy", true), true) + ", " +
                              Util.retonarAspas(Util.formataData(TUR_DTFORMACAO, "dd/MM/yyyy", true), true) + ", " +
                              Util.retonarAspas(Util.formataData(TUR_DTFECHAMENTO, "dd/MM/yyyy", true), true) + ", " +                              
                              Util.retonarAspas(TUR_MODALIDACOBRANCA, true) + ", " +
                              Util.retonarNull(TUR_QTMENSALIDADES) + ", " +
                              Util.retonarNull(TUR_VALORREFERENCIA) + ", " +
                              Util.retonarAspas(TUR_STEXCLUIDO, true) +
                 "      )";
            try
            {
                sqlServer._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }



        public void _atualizar_Turma(
                                                string TURMA_ID,
                                                string MODALIDADE_ID,
                                                string SALA_ID,
                                                string TURNO_ID,
                                                string TURNO_ALTER_ID,
                                                string NIVEL_ID,
                                                string USUARIO_ID,
                                                string TUR_DESCRICAO,
                                                string TUR_DTCRIACAO,
                                                string TUR_DTFORMACAO,
                                                string TUR_DTFECHAMENTO,
                                                string TUR_MODALIDACOBRANCA,
                                                string TUR_QTMENSALIDADES,
                                                string TUR_VALORREFERENCIA,
                                                string TUR_STEXCLUIDO
                                                )
        {

            string sql = " UPDATE TURMA SET " +
                         "      MODALIDADE_ID = " + Util.retonarNull(MODALIDADE_ID) + ", " +
                         "      SALA_ID = " + Util.retonarNull(SALA_ID) + ", " +
                         "      TURNO_ID = " + Util.retonarNull(TURNO_ID) + ", " +
                         "      TURNO_ALTER_ID = " + Util.retonarNull(TURNO_ALTER_ID) + ", " +
                         "      NIVEL_ID = " + Util.retonarNull(NIVEL_ID) + ", " +
                         "      USUARIO_ID = " + Util.retonarNull(USUARIO_ID) + ", " +
                         "      TUR_DESCRICAO = " + Util.retonarAspas(TUR_DESCRICAO, true) + ", " +
                         "      TUR_DTCRIACAO = " + Util.retonarAspas(Util.formataData(TUR_DTCRIACAO, "dd/MM/yyyy", true), true) + ", " +
                         "      TUR_DTFORMACAO = " + Util.retonarAspas(Util.formataData(TUR_DTFORMACAO, "dd/MM/yyyy", true), true) + ", " +
                         "      TUR_DTFECHAMENTO = " + Util.retonarAspas(Util.formataData(TUR_DTFECHAMENTO, "dd/MM/yyyy", true), true) + ", " +
                         "      TUR_MODALIDACOBRANCA = " + Util.retonarAspas(TUR_MODALIDACOBRANCA, true) + ", " +
                         "      TUR_QTMENSALIDADES = " + Util.retonarNull(TUR_QTMENSALIDADES) + ", " +
                         "      TUR_VALORREFERENCIA = " + Util.retonarNull(TUR_VALORREFERENCIA) + ", " +
                         "      TUR_STEXCLUIDO = " + Util.retonarAspas(TUR_STEXCLUIDO, true) +
                         " WHERE TURMA_ID =  " + TURMA_ID;
            try
            {
                sqlServer._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }



        public void _excluir_Turma(string TURMA_ID)
        {
            string sql = "DELETE FROM TURMA WHERE TURMA_ID = " + TURMA_ID;
            try
            {
                sqlServer._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }



        #endregion
    }
}
